본문으로 건너뛰기

Duke MSCS

프로그램 소개​

CS와 ECE 프로그램은 역할 분담이 꽤 분명합니다. CS는 연구 중심, ECE는 엔지니어링 중심입니다. 다만 완전히 맞는 말은 아닙니다. 많은 MSCS 학생들도 업계로 진출해 아주 좋은 곳에 취업합니다. MSCS는 수업 선택의 자유도가 높습니다. 졸업하려면 10개 수업이 필요합니다. 프로젝트 또는 논문 트랙을 택하면 CS 번호 수업이 4개만 필요하고, 수강형(course-only)이면 CS 수업이 6개 필요합니다. Duke CS에는 LeetCode 풀이와 인터뷰 준비를 위한 전용 수업도 있습니다. 업계 전문가들이 LeetCode 문제를 함께 풀며 지도해 줍니다. 취업 준비와 관련된 수업을 더 듣고 싶다면 ECE 개설 과목도 살펴볼 수 있습니다.

OS / Network / Algorithm / Web Full Stack / Distributed System / Compiler / Architecture / Security 등 핵심 수업이 모두 개설되어 있습니다. 프로그램은 보통 2년이며, 일반적인 수강 부담은 3-3-3-1입니다. 처음 세 학기는 수강 과목 수와 관계없이 학비가 같고, 마지막 학기는 과목당으로 계산됩니다.

합격 데이터 포인트​

역대 합격률은 15%이지만 최근에는 정원이 늘고 있습니다. GPA, GRE, TOEFL 점수의 비중이 큽니다. 학생 구성은 주로 미국 학부 출신이며, CS와 DS 학부 배경이 모두 있습니다.

  1. SJTU CS 학부, 석차 2위(GPA 93+), TOEFL 110, GRE 328
  2. SJTU-UMich CS 학부 (SJTU GPA 3.8, UMich GPA 3.97)
  3. OSU CS 학부, GPA 3.98, 2년간 TA 경험
  4. University of Nottingham Ningbo CS 학부, GPA 3.97
  5. 인도 학부, GPA 9.28, 인도 Google SDE 인턴 + Google 정규직 1년 경력
  6. Vanderbilt University CS+Math 학부, GPA 3.922
  7. Wellesley College CS 학부, GPA 3.78

취업 결과 및 데이터 포인트​

진출 분야가 매우 다양합니다. Microsoft, Adobe, Salesforce 등에 취업한 사람들이 있습니다. 교내 경쟁은 사실상 없습니다. 동시에 학교의 명성만으로 FB, Google 등 빅테크의 이력서 서류 심사 기준은 충분히 통과할 수 있습니다. 그 이후는 개인 몫입니다. 빅테크 인터뷰는 결국 카메라를 켜고 앉아서 문제를 푸는 것이니까요.

22Fall 입학생은 Duke MSCS라는 타이틀이면 충분하다고 말했습니다. 결국 개인의 LeetCode 연습, 네트워킹 능력, 운에 달려 있습니다. 취업 준비와 LeetCode 분위기는 UCSD CS75나 Gatech MSCS 같은 대형 주립대 프로그램만큼 치열하지는 않지만, "22Fall에는 LeetCode, 모의 면접에 열심히 매달리고 적극적으로 내부 추천을 구한 사람은 모두 오퍼를 받았습니다. 원래 PhD를 가려던 한 동기는 막판에 취업으로 방향을 바꿨는데, 연구 경험만 있고 인턴 경험이 없는데도 Google에 갔습니다." 가성비 면에서는 CS75나 Gatech MSCS만 못하지만, PhD로 전환하거나 취업으로 돌아설 수 있는 선례가 있습니다. 가성비 얘기가 나오면 Duke에 대한 첫 반응은 모두 너무 비싸다는 것입니다. Duke는 수업 선택이 유연하고 학비는 높지만, 3+3+4 방식으로 수강하고 마지막 학기는 학교 소속만 유지하면 총 최소 약 $105k가 듭니다(2026-27 학비는 학기당 $34,940이며 최소 3개 정규 학기가 필요). TA 자리는 아주 쉽게 구할 수 있고 학기당 $6,200을 받습니다. 도서관, 식당 등 교내 work-study 기회도 있으며 월 약 $1,000을 받습니다.

  1. UCI CS 학부, 인턴 경험 없음, Meta SWE 인턴 합격
  2. 인도 CS 학부, Google 정규직 1년, BotBuilt Machine Learning Intern 합격
  3. Vanderbilt University CS+Math 학부, PwC와 Sohu 단기 인턴, Salesforce SWE 인턴 합격
  4. University of Edinburgh CS 학부, MLE 인턴 경험, Syngenta Software Engineer Intern 합격
  5. Wellesley College CS 학부, 프로덕트 매니저 인턴 경험, Meta SWE 합격
  6. UCI CS 학사, 2022년 Meta SWE 인턴, 2023년부터 IXL Learning SWE 정규직, 2026년 Senior SWE 승진.

RA와 PhD 전환​

받아 주겠다는 교수를 찾기만 하면 가능성이 높습니다. CS학과 교수 대부분이 매년 MSCS 학생 중에서 새 멤버를 뽑습니다. 교수가 승낙하면 PhD 프로그램으로 전환할 수 있습니다. 주변에도 Duke CS PhD로 전환한 학생이 상당히 많습니다.

Duke MSCS는 본래 연구 중심 프로그램입니다. 규모가 작고 선발이 까다로운 만큼 연구실 기회가 더 좋고, UCSD CS75, Gatech MSCS 같은 대형 주립대 프로그램보다 PhD 전환에 더 우호적입니다. (PhD 전환에 성공한 22Fall 학생의 말입니다. 그는 당시 Gatech MSCS와 Cornell 본교 CS MEng 오퍼도 있었습니다. 여자친구는 CS75에 갔는데 사람이 많고 경쟁이 치열해서 PhD 지향 학생 대부분이 포기했다고 합니다.) 또한 Duke MSCS 2년은 PhD 기간에 명시적으로 산입될 수 있어, MS-PhD 통합 4-5년은 아주 좋은 조건입니다.

수업 후기​

  1. CPS 510 Operating System 교수: Matthew Lentz (대학원 수준, 더 추상적) / Danyang Zhuo (학부 OS, 설명이 더 명확) 수업 내용: UW CSE 451을 따라 OSTEP(x86)을 가르치고, 과제는 MIT 6.828(xv6 RISC-V)을 따릅니다. 둘 사이에 간극이 있어 스스로 공부해서 메워야 합니다. 과제: 매번 채점 스크립트가 제공되며, 제출 전에 전부 통과하면 만점입니다. 프로젝트 주제는 직접 정하며 난이도는 다양합니다. 시험: A4 치트시트 허용(양면), 대부분 단답형, 코딩 없음. 총평: 학부에서 OS를 듣지 않았다면 따라가기 어렵고 별도 학습이 많이 필요합니다. 한 학기 열심히 하면 얻는 것이 아주 큽니다.

  2. CPS 514 Advanced Computer Networks (ECE 558) 교수: Bruce Maggs / Xiaowei Yang 수업 내용: 전반부는 전통적인 네트워크, 후반부는 분산 시스템을 다룹니다. 지식 포인트가 많습니다. 과제: OH에 가서 질문을 많이 할 수 있습니다. Bruce는 답을 바로 알려 주기 때문에 시험 정답률이 크게 올라갑니다. 시험: 객관식이며 +2/-2 채점이라 오답은 두 배로 감점되니 매우 조심해야 합니다. 출제 내용은 예측하기 어렵습니다. 프로젝트: 지난 프로젝트가 여러 개 제공되며 하고 싶은 것을 하면 됩니다. 학기 중 코딩량은 적고 학습은 대부분 자기주도입니다. 총평: 교수들은 아는 것이 많지만 강의는 자유로운 편입니다. 지식 포인트가 방대해 복습 부담이 크고 시험 압박도 큽니다.

  3. CPS 590 Advanced Web App Development (Dennis Quan) 교수: Dennis Quan (적극 추천, 풍부한 업계 경험) 수업 내용: TypeScript JS 핵심 개념 (closure, scoping, promise) Vue + Express + MongoDB + Socket.io 자동화 테스트 (Playwright) 로드 밸런싱 (nginx), CI/CD (GitLab), Docker, TLS 인증(authentication), 권한 부여(authorization), Cookie, Session 과제: 과제 5개, 난이도가 점점 올라갑니다. 시험: 매주 퀴즈가 있고 후반으로 갈수록 쉽지 않아 꾸준히 따라가야 합니다. 프로젝트: 기말 프로젝트 방향이 명확하며 4가지 유형 중에서 고르고, 수업에서 배운 것을 모두 엮습니다. 총평: 논리가 명확하고 업계 관행과 일치합니다. Dennis는 뛰어난 강사로 충분히 들을 가치가 있습니다.

  4. CPS 512 Distributed Systems 교수: Danyang Zhuo 수업 내용: 매 수업마다 논문을 읽고 응답문을 작성해야 하며, 수업 내용은 논문과 연결됩니다. 프로젝트: 분산 시스템을 직접 구현해야 합니다. 총평: 연구 중심이며 분산 시스템을 깊이 공부하려는 학생에게 적합합니다.